Various machine readable symbols have been developed for many applications. For example, the Universal Product Code (UPC) is a bar code symbology widely used in the U.S. retail industry to identify products at the point of sale, or for inventory control purposes. In the industrial area, other bar code symbologies have been used for package identification systems. Common bar code symbologies include CODABAR, Code 39, Interleaved 2 of 5, and Code 49. In general, machine readable codes provide significant advantages in the efficiency of material handling and data gathering.
A bar code is a particular type of machine readable symbol. A typical bar code includes parallel solid lines, or bars, of varying width and spacing. The alternating light and dark areas defined by the bars and the spaces between the bars, represent a digital code which serves to identify the content of the bar code symbol. After being read, the digital code is then directly translated to a sequence of alphanumeric characters and then by means of a data base, may be further translated to the common language description of the item bearing the subject bar code label, along with other pertinent data, such as for example the current price of the item.
A bar code may be read by scanning. Typically, a small spot of light is directed from a source of illumination to the surface of the bar code. The reflected light is sensed by a photosensitive element. The small illuminated spot of light is then swept across the bar code surface, all the while sensing the intensity of the resulting reflected light. Since light areas reflect more light than dark areas, the reflected light intensity represents the digital code which serves to identify the content of the bar code symbol.
In one type of bar code reader, a hand held laser or LED is used as the source of illumination, and the reader is manually swept across the bar code surface. In a scanning type of bar code reader, the light source is stationary while the light beam is moved in a scanning pattern. A typical scan pattern may be a linear bidirectional sweep. In the latter type of scanner, the bar code symbol and the bar code reader must still be manually oriented so that the scan pattern traverses all the bars of the bar code in order for the bar code to be properly scanned and read.
In another type of bar code scanner, a laser beam is swept through a complex series of repetitive geometric patterns in order to provide for some degree of omnidirectional scanning. All omnidirectional laser based scanners tend to be expensive due to the initial cost and limited lifetime of the laser light source, and the associated complex optical elements which typically include rapidly rotating polygonal mirrors. Also, laser based scanners use an intense concentrated light source which can be an eye hazard, and which requires special precautions in manufacturing and use.
Finally, omnidirectional laser scanners tend to perform poorly with bar code symbols which have been damaged b abrasion, dirt, printing defects, and the like. This latter limitation is caused by scan patterns which are likely to sweep through the bar code label only once as it passes under the scanner. If the laser sweep cuts through a damaged area of the bar code label, a misread (or no read) will occur. Additionally, omnidirectional laser scanners do not read low aspect ratio bar codes because of the limited number of scanning angles in the scan pattern. Also, omnidirectional laser scanners cannot read stacked bar codes such as code 49.
In another type of bar code reader, an image of a bar code is formed over a one dimensional array of photosensitive elements. The one line photosensitive array is subsequently serially read out to simulate a scan line through the bar code. In yet another type of bar code reader, two dimensional image of a bar code is formed on a two dimensional array of photosensitive elements, and subsequently stored in a memory for further processing. However, in such prior art bar code readers, it has still been necessary to position and orient the bar code to the reader.
In general, in the prior art, it is typically necessary for the operator to either orient the bar code, or otherwise position the bar code and/or the reader manually in order to achieve proper operation. Also, prior art bar code readers have difficulty reading damaged labels, and stacked or multiple bar codes. The common result of these limitations, is misread bar codes or unread bar codes, even after repeated attempts. If unable to successfully scan the bar code, the data must be read and entered manually. In some cases, the bar code symbol will pass the scanning station completely undetected and unread. In any event, due to the limitations of the prior art bar code readers, the benefits of marking products with machine readable symbols is reduced or lost.